#ifndef __STATEMANAGER__
#define __STATEMANAGER__

#include "GameState.h"
class StateMangager
{
public:
	static StateMangager* getInstance()
	{
		if (0 == m_pInstance)
			m_pInstance = new StateMangager;
		return m_pInstance;
	}
	~StateMangager();
	void update(bool isPaused, float dt);
	void render();
	void switchState(GameState* next_state);
protected:
	StateMangager() : m_pCurrentState(0), m_pNextState(0) {}
	static StateMangager* m_pInstance;
protected:
	GameState* m_pCurrentState;
	GameState* m_pNextState;
};

#endif